package persistence;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import model.Estado;

public class EstadoDaoImpl implements EstadoDao {
	Connection c;

	public EstadoDaoImpl() {
		GenericDao gDao = new GenericDao();
		c = gDao.getConnection();
	}

	@Override
	public void salvaEstado(Estado estado) throws SQLException {
		String sql = "INSERT INTO estados VALUES (?,?)";
		PreparedStatement ps = c.prepareStatement(sql);

		ps.setInt(1, estado.getIdEstado());
		ps.setString(2, estado.getEstado());

		ps.execute();
		ps.close();

	}

	@Override
	public void editaEstado(Estado estado) throws SQLException {
		String sql = "UPDATE estados SET estado = ? WHERE idEstado = ?";
		PreparedStatement ps = c.prepareStatement(sql);
		ps.setString(1, estado.getEstado());
		ps.setInt(2, estado.getIdEstado());
		ps.execute();
		ps.close();

	}

	@Override
	public void excluiEstado(Estado estado) throws SQLException {
		String sql = "DELETE estados WHERE idEstado = ?";
		PreparedStatement ps = c.prepareStatement(sql);
		ps.setInt(1, estado.getIdEstado());
		ps.execute();
		ps.close();

	}

	@Override
	public Estado pesquisaEstado(Estado estado) throws SQLException {
		Estado es = new Estado();
		String sql = "SELECT idEstado, estado FROM estados WHERE idEstado = ?";
		PreparedStatement ps = c.prepareStatement(sql);
		ps.setInt(1, estado.getIdEstado());
		ResultSet rs = ps.executeQuery();
		if (rs.next()) {
			es.setIdEstado(rs.getInt("idEstado"));
			es.setEstado(rs.getString("estado"));

		}
		ps.close();
		rs.close();
		return es;
	}

}
